home *** CD-ROM | disk | FTP | other *** search
-
- typedef double matrix_t;
-
-
- class matrix {
- matrix_t *matrix_data;
- size_t matrix_size;
-
- public:
- matrix (size_t matrix_length, ...);
- matrix (char *dummy, size_t matrix_length,matrix_t fill_value=0.0);
- matrix (matrix &m);
- ~matrix (void) { delete matrix_data; }
-
- matrix_t get_elem (size_t row, size_t column) { return *(matrix_data + (row-1)*matrix_size + (column-1)); }
- matrix_t put_elem (size_t row, size_t column, matrix_t elem) { return (*(matrix_data + (row-1)*matrix_size + (column-1)) = elem); }
-
- matrix_t* operator[] (size_t row) { return matrix_data + row*matrix_size; }
- matrix_t& operator() (size_t row, size_t column) { return *(matrix_data + (row-1)*matrix_size + (column-1)); }
- matrix operator= (matrix &m);
- size_t get_matrix_size (void) { return matrix_size; }
- int operator== (matrix m);
- int operator!= (matrix m);
- matrix operator+ (matrix m);
- matrix operator- (matrix m);
- matrix operator- (void);
- friend matrix_t det (matrix m);
- friend matrix_t cofactor (matrix m, size_t m_row, size_t m_column);
- friend matrix minor (matrix m, size_t m_row, size_t m_column);
- friend void transpose (matrix &m);
- friend matrix operator* (matrix m, double r);
- friend matrix operator* (double r, matrix m);
- friend matrix operator* (matrix m, int r);
- friend matrix operator* (int r, matrix m);
- friend ostream& operator<< (ostream &s, matrix m);
- friend istream& operator>> (istream &s, matrix &m);
- matrix operator* (matrix m);
-
- void print_matrix (void);
- };
-
- void matrix_error (char *message);
-